package com.solution.admin.point.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.solution.admin.point.dao.PointImportDao;
import com.solution.admin.point.entity.PointImportEntity;
import com.solution.admin.point.service.PointImportService;
import com.solution.admin.point.service.PointService;
import com.solution.common.dao.BaseDao;
import com.solution.common.page.PageBean;
import com.solution.common.page.PageParam;
import com.solution.common.service.impl.BaseServiceImpl;

/**
 * 积分导入信息service实现层
 * 
 * @author xu_cc
 * @date 2017-10-20 14:19:50
 */
@Service
public class PointImportServiceImpl extends BaseServiceImpl<PointImportEntity> implements PointImportService {

    @Autowired
    PointService pointService;
    
    /**
     * 积分导入信息接口
     */
    @Autowired
    private PointImportDao pointImportDao;

    protected BaseDao<PointImportEntity> getDao() {
        return this.pointImportDao;
    }

//    /**
//     * 审核
//     * 
//     * @param isAll
//     *            （是否全部审核）
//     * @param idArrStr
//     *            （记录ID，逗号分隔）
//     * @param approveStatus
//     *            （审核结果）
//     * @param approveRemark
//     *            （审核意见）
//     * @param userCode
//     *            （审核人）
//     * @return BaseReturn
//     * @author xu_cc
//     * @throws Exception
//     *             exception
//     * @Date 创建时间：2017年11月8日 下午3:14:59
//     */
//    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
//    public BaseReturn doAudit(String isAll, String idArrStr, Integer approveStatus, String approveRemark, String userCode) throws Exception {
//        BaseReturn result = new BaseReturn();
//        int success = 0;
//        int failed = 0;
//
//        // 判断是否全部审核
//        if (IsYesNo.YES.equals(isAll)) {
//            // 全部审核
//
//        } else {
//            if (StringUtil.isEmpty(idArrStr)) {
//                result.setCode(SysCode.FAILED);
//                result.setMsg("请选择需要审核的记录！");
//                return result;
//            } else {
//
//                String[] dataIdArr = idArrStr.split(SysSymbol.COMMA);
//                if (null != dataIdArr && dataIdArr.length > 0) {
//                    for (String idStr : dataIdArr) {
//                        if (StringUtil.isEmpty(idStr)) {
//                            continue;
//                        } else {
//                            PointImportEntity pointImport = pointImportDao.getById(Long.parseLong(idStr));
//                            // 如果获取的数据为空、审核状态不是待审核、或者数据标识已删除，则失败
//                            if (null == pointImport || !ApproveStatus.WAIT_APPROVE.equals(pointImport.getApproveStatus())
//                                    || IS_DELETE.DELETED.getId().equals(pointImport.getIsDelete())) {
//                                failed++;
//                            } else {
//                                // 审核意见赋值
//                                pointImport.setApproveRemark(approveRemark);
//                                pointImport.setModifier(userCode);
//                                if (ApproveStatus.APPROVE_FAILED.equals(approveStatus)) {
//                                    // 审核拒绝（驳回），直接该本条数据信息就可
//                                    pointImport.setApproveStatus(ApproveStatus.APPROVE_FAILED);
//                                    pointImportDao.update(pointImport);
//                                    success++;
//                                } else if (ApproveStatus.APPROVE_SUCCESS.equals(approveStatus)) {
//                                    // 审核通过成功（通过），增减系统积分
//                                    pointImport.setApproveStatus(ApproveStatus.APPROVE_SUCCESS);
//                                    
//                                    pointService
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                    
//                                } else {
//                                    throw new Exception("未知的审核结果！");
//                                }
//
//                            }
//                        }
//                    }
//
//                }
//
//            }
//
//        }
//
//        result.setCode(SysCode.SUCCESS);
//        return result;
//    }

    // /**
    // * 将积分调整信息全部插入到历史表中<br>
    // * 同时，清空积分调整信息表
    // *
    // * @Title: insertAllToHistory
    // * @Description:(描述)
    // * @return int
    // * @author xu_cc
    // * @throws Exception
    // * exception
    // * @Date 创建时间：2017年10月26日 下午4:02:34
    // */
    // @Transactional(propagation = Propagation.REQUIRED, rollbackFor =
    // Exception.class)
    // public int insertAllToHistoryAndDeleteAll() {
    // // 先插入历史表
    // int rows = pointImportDao.insertAllToHistory();
    // System.out.println("插入积分调整历史表记录：" + rows);
    // // 清空积分调整表
    // rows = pointImportDao.deleteAll();
    // System.out.println("清空积分调整表记录：" + rows);
    // return rows;
    // }

    /**
     * 保存积分导入信息
     * 
     * @param pointImportEntity
     *            积分导入信息实体
     * @return Long 添加成功积分导入信息的ID
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    public long savePointImport(PointImportEntity pointImportEntity) {
        return pointImportDao.savePointImport(pointImportEntity);
    }

    /**
     * 分页查询积分导入信息
     * 
     * @param pageParam
     *            分页参数
     * @param paramMap
     *            查询参数
     * @return PageBean 分页参数和分页数据
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    @Override
    public PageBean listPointImportPage(PageParam pageParam, Map<String, Object> paramMap) {
        return pointImportDao.listPointImportPage(pageParam, paramMap);
    }

    /**
     * 根据ID查询用户信息
     * 
     * @param id
     *            用户id
     * @return pointImportEntity 用户对象
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    public PointImportEntity getPointImportById(Long id) {
        return pointImportDao.getById(id.longValue());
    }

    /**
     * 更新用户
     * 
     * @param pointImportEntity
     *            用户实体
     * @return Long 更新是否成功，>1代表更新成功
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    @Override
    public int updatePointImport(PointImportEntity pointImportEntity) {
        return pointImportDao.updatePointImport(pointImportEntity);
    }

    /**
     * 根据条件查询积分导入信息
     * 
     * @param param
     * @return 数据列表
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    @Override
    public List<PointImportEntity> listPointImport(Map<String, Object> param) {
        return pointImportDao.listPointImport(param);
    }

    /**
     * 删除积分导入信息
     * 
     * @param
     * @return int 返回删除记录条数
     * @author xu_cc
     * @date 2017-10-20 14:19:50
     */
    public int deletePointImportById(long id) {
        return pointImportDao.deleteById(id);
    }

}
